#复习
# name=input("请输入你的名字:")
# age=input("请输入你的年龄:")
# print(f"My name is {name},i am {age} years old") #字符串的格式化快速写法

#if....elif....else
# age=int(input("请输入你的年龄："))
# if age<18:
#     print("你未成年");
# elif age<40:
#     print("你是青年人")
# else:
#     print("你是中年人或者老年人")

#定义一个数字，1~10，随机产生，通过三次判断猜出来数字
# import  random
# num=random.randint(1,10)

#循环语句的学习
#while 循环的基础语法
# i=0
# while i<100:
#     print("小美，我喜欢你")
#     i+=1
#计算1-100的数字累加起来的和是多少
# i=1
# sum=0
# while i<=100:
#     sum+=i;
#     i+=1;
# print(f"1-100的和={sum}")
#完成猜数字的小游戏
#写法一：
# import  random
# num=random.randint(1,100)
# print("欢迎来到猜数字游戏,你有无限次机会，直到猜中为止")
# guess=int(input("请你输入你要猜的数字:"))
# i=0
# while guess!=num:
#     i+=1
#     if guess>num:
#         print("对不起你还没有猜中，猜大了")
#     else:
#         print("对不起你还没有猜中，猜小了")
#     guess=int(input("请重新输入数字:"))
# print("恭喜你，猜中了，这个数字是%s,你总共猜了%s次"%(num,i))
#写法二：
# import  random
# num=random.randint(1,100)
# i=0
# flag = False
# while  not flag:
#     i+=1
#     guess=int(input("请输入你要猜测的数字:"))
#     if guess==num:
#         print("猜中了")
#         flag=True
#     else:
#         if guess>num:
#             print("猜大了")
#         else:
#             print("猜小了")
# print("这个数字是%s,您总共猜了%s次"%(num,i))

#while循环的嵌套应用
# i=1
# while i<=100:#w外层循环
#     print(f"今天是第{i}天，准备表白....")
#     j=1
#     while j<=10:#内层循环
#         print(f"送给小美第{j}支玫瑰花")
#         j+=1
#     print("小美，我喜欢你")
#     i += 1
# print(f"坚持到第{i-1}天，表白成功")

#默认的print语句输出是换行的，当我们需要输出不换行的功能的时候，非常简单
# print("nihao",end=' ')
# print("hello")

#9*9乘法表
# i=1
# while i<10:#控制行
#     j=1
#     while j<=i:#控制列
#         r=i*j
#         print("%s*%s=%s\t"%(j,i,r),end='')#也可以通过字符串的宽度来对齐
#         j+=1
#     print('')
#     i+=1

#for循环的基础语法  遍历循环，逐一处理数据集 (序列类型),无法定义循环条件
#只能从被处理的数据集中，依次取出内容进行处理
#python的for循环无法构成无限循环的（被处理的数据不可能无限大）
# name='xiaofeng'
# for i in name: #将name的内容逐个取出赋予临时变量i,就可以在循环体内对x进行处理
#     print(i,end=' ')
# name ='hello my name is xiaofeng'
# i=0
# for x in name:
#     i+=1
#     if x=='n':
#         print(f'当前字符是n,而是{x}')
#     else:
#         print(f'当前字符不是n，而是{x}')
# print(f'总共有{i}个字符')#包括空格

#for语法中的：待处理数据集，严格来说，称之为：序列类型
#序列类型是指：其内容可以是一个个依次取出的一种类型，包括：字符串、列表、元祖、等等
#range语句  获得一个数字序列
#语法一: range(num)  表示从0开始，到num结束的数字序列（不含num本身）
#语法二：range(num1,num2)  获取从num1开始到num2结束的数字序列(不含nun2本身)
#语法三：range(num1,num2,step)获得一个从num1开始，到num结束的数字序列（不含num2本身）
#数字之间的步长，以step为准（step默认是1）
# for x in range(10):
#     print(f"{x}",end=' ')
# print()
# for x in range(5,10):
#     print(f"{x}",end=' ')
# print()
# for x in range(3,6,2):
#     print(f"{x}", end=' ')
# print()

#案例练习
# b=int(input("请你任意输入一个数字:"))
# i=0
# for x in range(1,b):
#     if x%2==0:
#         i+=1;
# print(f'1-{b}之间的偶数的个数为：{i}个')
#如果在for循环外部访问临时变量:实际上是可以访问到的；在编程规范上，是不允许、不建议这样做的

#for循环的嵌套应用
# i=0
# for i in range(1,101):
#     print(f'今天是表白的第{i}天')
#     for j in range(1,11):
#         print(f'第{i}天，送的第{j}支玫瑰花')
# print(f'第{i}天表白成功')

#for循环打印9*9乘法表
# for i in range(1,10):  #控制行
#     for j in range(1,i+1): #控制列
#         print(f'{j}*{i}={i*j}\t',end='')
#     print()

#循环中断：关键字 break 和 continue
#continue 是中断本层的本次（跳出）本次循环，直接进行下一次循环
#break 是终止当层循环
# a=0
# for i in range(1,10):
#     if i>5:
#         break
#     a+=1
# print(f'执行了{a}次循环')
# a=0
# for i in range(1,10):
#     if i==5:
#         continue
#     a+=1
# print(f'执行了{a}次循环')


